HDU 1019[Least Common Multiple] GCD
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1019
题目大意:求n个数的最大公约数
关键思想:最大公倍数等于乘积除以最大公约数。LCM具有结合律和交换律
代码如下
//求最大公倍数。 #include <iostream> using namespace std; typedef long long ll; ll gcd(ll a,ll b){ return a%b==0?b:gcd(b,a%b); } ll lcm(ll a,ll b){ return a*b/gcd(a,b);//最大公倍数等于乘积除以最大公约数 } int main(){ int T,n; ll a,ans; cin>>T; while(T--){ ans=1; cin>>n; for(int i=0;i<n;i++){ cin>>a; ans=lcm(ans,a); } cout<<ans<<endl; } return 0; }
边完善自己边认识自己